The present invention is directed to managing a large distributed computer enterprise environment.
Managing a computer network comprising thousands of nodes can produce serious difficulties for system administrators. Management tasks, such as distribution of system-wide changes, must be carried out quickly and in a dependable manner in order to reduce the probability of catastrophic failure. Distributed computing environments that are known in the art do not scale easily to large size. One of the root causes of this deficiency is that prior art management environments include high overhead applications that, typically, are run on all of the managed machines in the network. In such systems, even machines located at the lowest level of management functionality (so-called xe2x80x9cendpointsxe2x80x9d) often include a full suite of management routines and systems management data. Because the endpoint machine has its own database, it has to be backed-up to accurately back up the overall environment.
As the number of such machines gets large, the time to backup all the distributed databases becomes great and the backup storage requirements become unmanageable. When endpoint machines fail, or when users accidentally remove files, it is an enormous burden on system administrators to have to locate and restore the endpoint""s database, especially if the missing database prevents the overall managed architecture from being able to distribute to the failed endpoint. Moreover, adding new application functionality to an endpoint machine typically requires the overall management architecture to be re-built, re-installed or, at least, re-initialized. This is a time-consuming, complex administrative task that severely limits the flexibility and increases the cost of system management. As a result of these problems, it has not been possible to increase the size or xe2x80x9cscalabilityxe2x80x9d of such networks to a true xe2x80x9centerprisexe2x80x9d level.
The present invention addresses and solves these problems.
It is a primary object of the invention to effectively manage computing resources in a large distributed enterprise environment.
It is another object of the invention to enable an enterprise to place substantially all of its computing resources on a network that is managed in a reliable, cost-effective manner.
It is still another object to reduce the complexity and cost of systems management in a large enterprise environment by supporting a low cost, low maintenance management framework on the vast majority of machines (e.g., the personal computers or PC""s) in the enterprise.
Yet another object is to enhance the scalability of a large distributed computing network by distributing the functionality of a system management framework in accordance with a xe2x80x9cclient-serverxe2x80x9d paradigm.
A more specific object of the invention is to implement a low cost, low maintenance component of a system management framework at the endpoint machines that comprise the largest percentage of computing resources in the enterprise environment.
It is another more particular object to support a minimal set of applications on xe2x80x9cdatalessxe2x80x9d endpoint machines of a large, distributed environment to facilitate systems management.
It is still another object of the invention to meet the needs of customers with very large and geographically-dispersed networks and, more particularly, to significantly expand the scalability parameters of traditional management tools and techniques.
Yet another important object is to enable PC connectivity in a large centrally-managed network enterprise.
These and other objects are achieved in a large distributed enterprise that includes computing resources organized into one or more managed regions, each region being managed by a server machine servicing one or more gateway machines, with each gateway machine servicing a plurality of endpoint machines. A system management framework is xe2x80x9cdistributedxe2x80x9d on the gateway machines and the one or more endpoint machines to carry out system management tasks. To enhance scaleability, the endpoint machines support a low cost, low maintenance client component of the system management framework, and a corresponding server component is supported on each of the gateway machines. On an as-needed basis, system management data (and executable code, if necessary) is delivered from a gateway to one or more endpoint machines to facilitate execution of a system management task for the managed region. Typically, the system management data is not stored in the endpoint, and this xe2x80x9cdatalessxe2x80x9d approach reduces the complexity and maintenance costs associated with distributing the functionality of the system management framework. The endpoints are easily xe2x80x9cextensiblexe2x80x9d to include new application functionality without requiring the overall framework to be rebuilt or reinstalled.
A preferred method of executing a system management task affecting the managed region begins by delivering executable code and system management data required for the system management task from a gateway machine to one or more endpoint machines serviced by the gateway. The executable is a shell script, a specialized script, a compiled program or any other kind of valid executable. When a system management task is created, the executable is stored on disk, and a reference to the disk file is stored as an attribute in an object database in the gateway machine. Upon receipt of the executable code and system management data from the gateway machine, the client component of the management framework (supported on the endpoint machine) then carries out the management task. Preferably, data is not cached on the endpoint, and the endpoint returns to its normally xe2x80x9cidlexe2x80x9d state after the task is completed.
An endpoint computer connectable into such an enterprise thus includes a processor, an operating system, a graphical user interface, and a client component of a system management framework, the client component having an associated server component supported on a gateway machine that services that computer. The client component includes means responsive to receipt of executables and system management data from the gateway machine to facilitate execution of a system management task into which the computer is connected. Preferably, the system management framework is object-oriented.
The foregoing has outlined some of the more pertinent objects of the present invention. These objects should be construed to be merely illustrative of some of the more prominent features and applications of the invention. Many other beneficial results can be attained by applying the disclosed invention in a different manner or modifying the invention as will be described. Accordingly, other objects and a fuller understanding of the invention may be had by referring to the following Detailed Description of the preferred embodiment.